import time

from selenium import webdriver
from selenium.webdriver.common.by import By # 操作元素的模块
from selenium.webdriver.chrome.service import Service # 指定驱动的模块
from time import sleep


services = Service('./chromedriver.exe')
driver = webdriver.Chrome(service=services)

# 打开浏览器
driver.get("https://www.baidu.com/")

# 浏览器最大化
driver.maximize_window()

# 输入框内：输入selenium 使用八大定位方式之一：ID定位
"""element = driver.find_element(By.ID,"kw") # element：就是输入框
element.send_keys("selenium")"""

# 定位输入框：NAME定位
"""driver.find_element(By.NAME,"wd").send_keys("selenium")"""

# 定位输入框：CLASS NAME定位
# driver.find_element(By.CLASS_NAME,"s_ipt").send_keys("宛潇")

# 定位输入框：CSS SELECTOR定位
# driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("selenium2")

# 定位输入框：XPATH定位
# driver.find_element(By.XPATH,"//*[@id='kw']").send_keys("selenium3")

# 手写xpath定位
# driver.find_element(By.XPATH,"//*[@name='wd']").send_keys("sssss")
# driver.find_element(By.XPATH,"//*[@name='wd' and @id='kw']").send_keys("赵政权")
# driver.find_element(By.XPATH,"//*[text()='新闻']").click()




# 定位输入框：使用TAG NAME定位   我要定位的输入框在第一位
"""inputs = driver.find_elements(By.TAG_NAME,"input") # 所有的input标签都收集起来
for i in inputs:
    if i.get_attribute("name") == "wd":   # 通过key取它的value
        i.send_keys("selenium4") """

# 使用LINK TEXT定位方式：定位超链接文本
# driver.find_element(By.LINK_TEXT,"新闻").click()
# driver.find_element(By.LINK_TEXT,"hao123").click()

# 模糊文本的定位 PARTIAL_LINK_TEXT
# driver.find_element(By.PARTIAL_LINK_TEXT,"ao12").click()

"""
使用定位方式的优先级：
第一梯队： ID 、NAME 、CLASS NAME 、LINK TEXT、PARTIAL_LINK_TEXT
第二梯队： XPATH CSS_SELECTOR
第三梯队： TAG_NAME

为什么要这么区分？

页面发生改动了，用过xpath写的脚本，可能都需要重构
"""

sleep(1000000)




